'use strict'
const path = require('path')

function resolve(dir) {
    return path.join(__dirname, dir)
}
const port = process.env.port || process.env.npm_config_port || 9530

const Timestamp = new Date().getTime()

module.exports = {
    runtimeCompiler: true,
    publicPath: './',
    outputDir: 'dist',
    // outputDir: 'development',
    // outputDir: 'production',
    assetsDir: 'static',
    lintOnSave: false,
    productionSourceMap: false,
    devServer: {
        port: port,
        // 自动打开浏览器
        open: true,
        overlay: {
            warnings: false,
            errors: false
        },
        proxy: {
            '/': {
                // target: "http://192.168.10.102:8080", //田宇
                target: "http://192.168.10.115:8085", //张凯丽
                // target: 'http://39.105.232.233:8080', // 天工测试
                // target: "http://192.168.10.60:8080", //梁子文
                // target: "https://www.tg-cloud.com", // 线上
                changeOrigin: true, // 是否跨域
                ws: false,
                pathRewrite: {
                    '^/api': '' // 需要rewrite重写
                }
            }
        }

        // before: require('./mock/mock-server.js')
    },
    // 修改或新增html-webpack-plugin的值，在index.html里面能读取htmlWebpackPlugin.options.title
    chainWebpack: config => {
        config.plugin('html')
            .tap(args => {
                args[0].title = 'TGHY-BUG平台'
                return args
            })
    },
    /* 是否在构建生产包时生成 sourceMap 文件，false将提高构建速度 */
    productionSourceMap: false,
    // css相关配置
		css: {
			// 启用 CSS modules
			modules: false,
			// 是否使用css分离插件
			extract: true,
			// 开启 CSS source maps?
			sourceMap: false,
			// css预设器配置项
			loaderOptions: {
				css: {},
				postcss: {
					plugins: [
						//假如设计图给的宽度是1920，我们通常就会把remUnit设置为192，这样我们写样式时，可以直接按照设计图标注的宽高来1:1还原开发。
						require('postcss-plugin-px2rem')({
							remUnit: 192
						})
					]
				}
			}
		},
    configureWebpack: {
        output: {
            filename: `js/[name].${Timestamp}.js`, // 每次构建打包时给文件名加上时间戳，确保每次版本更新的文件名不一样
            chunkFilename: `js/[name].${Timestamp}.js`
        }
    }
}
			